
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>Index &#8212; Switchyard 2017.01.5 documentation</title>
    
    <link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    './',
        VERSION:     '2017.01.5',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <link rel="index" title="Index" href="#" />
    <link rel="search" title="Search" href="search.html" /> 
  </head>
  <body role="document">
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="#" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">Switchyard 2017.01.5 documentation</a> &#187;</li> 
      </ul>
    </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">

   

<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <form class="search" action="search.html" method="get">
      <div><input type="text" name="q" /></div>
      <div><input type="submit" value="Go" /></div>
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            

<h1 id="index">Index</h1>

<div class="genindex-jumpbox">
 <a href="#Symbols"><strong>Symbols</strong></a>
 | <a href="#A"><strong>A</strong></a>
 | <a href="#B"><strong>B</strong></a>
 | <a href="#C"><strong>C</strong></a>
 | <a href="#D"><strong>D</strong></a>
 | <a href="#E"><strong>E</strong></a>
 | <a href="#F"><strong>F</strong></a>
 | <a href="#G"><strong>G</strong></a>
 | <a href="#H"><strong>H</strong></a>
 | <a href="#I"><strong>I</strong></a>
 | <a href="#L"><strong>L</strong></a>
 | <a href="#M"><strong>M</strong></a>
 | <a href="#N"><strong>N</strong></a>
 | <a href="#O"><strong>O</strong></a>
 | <a href="#P"><strong>P</strong></a>
 | <a href="#R"><strong>R</strong></a>
 | <a href="#S"><strong>S</strong></a>
 | <a href="#T"><strong>T</strong></a>
 | <a href="#U"><strong>U</strong></a>
 | <a href="#W"><strong>W</strong></a>
 
</div>
<h2 id="Symbols">Symbols</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li>
    -i &lt;interface-name&gt;

      <ul>
        <li><a href="live_execution.html#cmdoption-i">command line option</a>
</li>
      </ul></li>
      <li>
    -x &lt;interface-name&gt;

      <ul>
        <li><a href="live_execution.html#cmdoption-x">command line option</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="writing_a_program.html#index-3">``log_debug``</a>
</li>
      <li><a href="writing_a_program.html#index-3">``log_failure``</a>
</li>
      <li><a href="writing_a_program.html#index-3">``log_info``</a>
</li>
      <li><a href="writing_a_program.html#index-3">``log_warn``</a>
</li>
      <li><a href="writing_a_program.html#index-2">``recv_packet``</a>
</li>
  </ul></td>
</tr></table>

<h2 id="A">A</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.socket.socket.accept">accept() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.ACK">ACK (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.ack">ack (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.TestScenario.add_file">add_file() (switchyard.lib.testing.TestScenario method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.add_header">add_header() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.TestScenario.add_interface">add_interface() (switchyard.lib.testing.TestScenario method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.PacketHeaderBase.add_next_header_class">add_next_header_class() (switchyard.lib.packet.PacketHeaderBase class method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.add_payload">add_payload() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="advanced_api.html#index-1">application layer</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.ApplicationLayer">ApplicationLayer (class in switchyard.lib.socket)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Arp">Arp (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.common.ArpOperation">ArpOperation (class in switchyard.lib.packet.common)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="B">B</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.socket.socket.bind">bind() (switchyard.lib.socket.socket method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.socket.socket.close">close() (switchyard.lib.socket.socket method)</a>
</li>
      <li>
    command line option

      <ul>
        <li><a href="live_execution.html#cmdoption-i">-i &lt;interface-name&gt;</a>
</li>
        <li><a href="live_execution.html#cmdoption-x">-x &lt;interface-name&gt;</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.socket.socket.connect">connect() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.connect_ex">connect_ex() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.CWR">CWR (switchyard.lib.packet.TCP attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="D">D</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.ICMPDestinationUnreachable.data">data (switchyard.lib.packet.ICMPDestinationUnreachable attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.ICMPEchoReply.data">(switchyard.lib.packet.ICMPEchoReply attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPEchoRequest.data">(switchyard.lib.packet.ICMPEchoRequest attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPRedirect.data">(switchyard.lib.packet.ICMPRedirect attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPSourceQuench.data">(switchyard.lib.packet.ICMPSourceQuench attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPTimeExceeded.data">(switchyard.lib.packet.ICMPTimeExceeded attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.data">(switchyard.lib.packet.ICMPv6NeighborAdvertisement attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborSolicitation.data">(switchyard.lib.packet.ICMPv6NeighborSolicitation attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPv6RedirectMessage.data">(switchyard.lib.packet.ICMPv6RedirectMessage attribute)</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.debugging.debugger">debugger() (in module switchyard.lib.debugging)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6RedirectMessage.destinationaddr">destinationaddr (switchyard.lib.packet.ICMPv6RedirectMessage attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.dscp">dscp (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Ethernet.dst">dst (switchyard.lib.packet.Ethernet attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.IPv4.dst">(switchyard.lib.packet.IPv4 attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.IPv6.dst">(switchyard.lib.packet.IPv6 attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.TCP.dst">(switchyard.lib.packet.TCP attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.UDP.dst">(switchyard.lib.packet.UDP attribute)</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="E">E</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.TCP.ECE">ECE (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.ecn">ecn (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="advanced_api.html#index-1">end-host protocol stack</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr">EthAddr (class in switchyard.lib.address)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.interface.Interface.ethaddr">ethaddr (switchyard.lib.interface.Interface attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Ethernet">Ethernet (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.common.EtherType">EtherType (class in switchyard.lib.packet.common)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Ethernet.ethertype">ethertype (switchyard.lib.packet.Ethernet attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.TestScenario.expect">expect() (switchyard.lib.testing.TestScenario method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="F">F</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.socket.socket.family">family (switchyard.lib.socket.socket attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.FIN">FIN (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.flags">flags (switchyard.lib.packet.IPv4 attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.TCP.flags">(switchyard.lib.packet.TCP attribute)</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.TCP.flagstr">flagstr (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv6.flowlabel">flowlabel (switchyard.lib.packet.IPv6 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.fragment_offset">fragment_offset (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.from_bytes">from_bytes() (switchyard.lib.packet.Packet static method)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.PacketHeaderBase.from_bytes">(switchyard.lib.packet.PacketHeaderBase method)</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="G">G</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.Packet.get_header">get_header() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.get_header_by_name">get_header_by_name() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.get_header_index">get_header_index() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.get_rso_byte">get_rso_byte() (switchyard.lib.packet.ICMPv6NeighborAdvertisement method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.get_rso_str">get_rso_str() (switchyard.lib.packet.ICMPv6NeighborAdvertisement method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.getpeername">getpeername() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.getsockname">getsockname() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.getsockopt">getsockopt() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.gettimeout">gettimeout() (switchyard.lib.socket.socket method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="H">H</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.Arp.hardwaretype">hardwaretype (switchyard.lib.packet.Arp attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.has_header">has_header() (switchyard.lib.packet.Packet method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.Packet.headers">headers() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.hl">hl (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv6.hopcount">hopcount (switchyard.lib.packet.IPv6 attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="I">I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.ICMP">ICMP (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMP.icmpcode">icmpcode (switchyard.lib.packet.ICMP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMP.icmpdata">icmpdata (switchyard.lib.packet.ICMP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPDestinationUnreachable">ICMPDestinationUnreachable (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPEchoReply">ICMPEchoReply (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPEchoRequest">ICMPEchoRequest (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPRedirect">ICMPRedirect (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPSourceQuench">ICMPSourceQuench (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPTimeExceeded">ICMPTimeExceeded (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.common.ICMPType">ICMPType (class in switchyard.lib.packet.common)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMP.icmptype">icmptype (switchyard.lib.packet.ICMP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6">ICMPv6 (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement">ICMPv6NeighborAdvertisement (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborSolicitation">ICMPv6NeighborSolicitation (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.icmpv6.ICMPv6Option">ICMPv6Option (class in switchyard.lib.packet.icmpv6)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.icmpv6.ICMPv6OptionRedirectedHeader">ICMPv6OptionRedirectedHeader (class in switchyard.lib.packet.icmpv6)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.icmpv6.ICMPv6OptionSourceLinkLayerAddress">ICMPv6OptionSourceLinkLayerAddress (class in switchyard.lib.packet.icmpv6)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.icmpv6.ICMPv6OptionTargetLinkLayerAddress">ICMPv6OptionTargetLinkLayerAddress (class in switchyard.lib.packet.icmpv6)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6RedirectMessage">ICMPv6RedirectMessage (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPEchoReply.identifier">identifier (switchyard.lib.packet.ICMPEchoReply attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.ICMPEchoRequest.identifier">(switchyard.lib.packet.ICMPEchoRequest attribute)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.interface.Interface.ifnum">ifnum (switchyard.lib.interface.Interface attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.interface.Interface.iftype">iftype (switchyard.lib.interface.Interface attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.insert_header">insert_header() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.interface.Interface">Interface (class in switchyard.lib.interface)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.interface_by_ipaddr">interface_by_ipaddr() (switchyard.llnetbase.LLNetBase method)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.interface_by_macaddr">interface_by_macaddr() (switchyard.llnetbase.LLNetBase method)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.interface_by_name">interface_by_name() (switchyard.llnetbase.LLNetBase method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.TestScenario.interfaces">interfaces() (switchyard.lib.testing.TestScenario method)</a>

      <ul>
        <li><a href="reference.html#switchyard.llnetbase.LLNetBase.interfaces">(switchyard.llnetbase.LLNetBase method)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.interface.InterfaceType">InterfaceType (class in switchyard.lib.interface)</a>
</li>
      <li><a href="reference.html#switchyard.lib.interface.Interface.ipaddr">ipaddr (switchyard.lib.interface.Interface attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.ipid">ipid (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.interface.Interface.ipinterface">ipinterface (switchyard.lib.interface.Interface attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.common.IPProtocol">IPProtocol (class in switchyard.lib.packet.common)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4">IPv4 (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv6">IPv6 (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.is_bridge_filtered">is_bridge_filtered (switchyard.lib.address.EthAddr attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.is_global">is_global (switchyard.lib.address.EthAddr attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.is_local">is_local (switchyard.lib.address.EthAddr attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.is_multicast">is_multicast (switchyard.lib.address.EthAddr attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.isBridgeFiltered">isBridgeFiltered() (switchyard.lib.address.EthAddr method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.isGlobal">isGlobal() (switchyard.lib.address.EthAddr method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.isLocal">isLocal() (switchyard.lib.address.EthAddr method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.isMulticast">isMulticast() (switchyard.lib.address.EthAddr method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="L">L</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.UDP.length">length (switchyard.lib.packet.UDP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.listen">listen() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase">LLNetBase (class in switchyard.llnetbase)</a>
</li>
      <li><a href="writing_a_program.html#log_debug">log_debug() (built-in function)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.logging.log_debug">(in module switchyard.lib.logging)</a>
</li>
      </ul></li>
      <li><a href="writing_a_program.html#log_failure">log_failure() (built-in function)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.logging.log_failure">(in module switchyard.lib.logging)</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="writing_a_program.html#log_info">log_info() (built-in function)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.logging.log_info">(in module switchyard.lib.logging)</a>
</li>
      </ul></li>
      <li><a href="writing_a_program.html#log_warn">log_warn() (built-in function)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.logging.log_warn">(in module switchyard.lib.logging)</a>
</li>
      </ul></li>
      <li><a href="writing_a_program.html#index-3">logging</a>
</li>
  </ul></td>
</tr></table>

<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="writing_a_program.html#index-0">main</a>, <a href="writing_a_program.html#index-4">[1]</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.PacketInputEvent.match">match() (switchyard.lib.testing.PacketInputEvent method)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.testing.PacketInputTimeoutEvent.match">(switchyard.lib.testing.PacketInputTimeoutEvent method)</a>
</li>
        <li><a href="reference.html#switchyard.lib.testing.PacketOutputEvent.match">(switchyard.lib.testing.PacketOutputEvent method)</a>
</li>
      </ul></li>
  </ul></td>
</tr></table>

<h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.interface.Interface.name">name (switchyard.lib.interface.Interface attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.testing.TestScenario.name">(switchyard.lib.testing.TestScenario attribute)</a>
</li>
      </ul></li>
      <li><a href="writing_a_program.html#index-2">named tuple</a>
</li>
      <li><a href="reference.html#switchyard.lib.interface.Interface.netmask">netmask (switchyard.lib.interface.Interface attribute)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="advanced_api.html#index-0">new packet header types</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv6.nextheader">nextheader (switchyard.lib.packet.IPv6 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPDestinationUnreachable.nexthopmtu">nexthopmtu (switchyard.lib.packet.ICMPDestinationUnreachable attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.NS">NS (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.num_headers">num_headers() (switchyard.lib.packet.Packet method)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="O">O</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.TCP.offset">offset (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Arp.operation">operation (switchyard.lib.packet.Arp attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.options">options (switchyard.lib.packet.ICMPv6NeighborAdvertisement attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborSolicitation.options">(switchyard.lib.packet.ICMPv6NeighborSolicitation attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPv6RedirectMessage.options">(switchyard.lib.packet.ICMPv6RedirectMessage attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.IPv4.options">(switchyard.lib.packet.IPv4 attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.TCP.options">(switchyard.lib.packet.TCP attribute)</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.ICMPDestinationUnreachable.origdgramlen">origdgramlen (switchyard.lib.packet.ICMPDestinationUnreachable attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.ICMPTimeExceeded.origdgramlen">(switchyard.lib.packet.ICMPTimeExceeded attribute)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.overrideflag">overrideflag (switchyard.lib.packet.ICMPv6NeighborAdvertisement attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.packed">packed (switchyard.lib.address.EthAddr attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet">Packet (class in switchyard.lib.packet)</a>
</li>
      <li><a href="advanced_api.html#index-0">packet headers</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.PacketHeaderBase">PacketHeaderBase (class in switchyard.lib.packet)</a>, <a href="reference.html#switchyard.lib.packet.PacketHeaderBase">[1]</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.PacketInputEvent">PacketInputEvent (class in switchyard.lib.testing)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.PacketInputTimeoutEvent">PacketInputTimeoutEvent (class in switchyard.lib.testing)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.PacketOutputEvent">PacketOutputEvent (class in switchyard.lib.testing)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.port_by_ipaddr">port_by_ipaddr() (switchyard.llnetbase.LLNetBase method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.port_by_macaddr">port_by_macaddr() (switchyard.llnetbase.LLNetBase method)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.port_by_name">port_by_name() (switchyard.llnetbase.LLNetBase method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.TestScenario.ports">ports() (switchyard.lib.testing.TestScenario method)</a>

      <ul>
        <li><a href="reference.html#switchyard.llnetbase.LLNetBase.ports">(switchyard.llnetbase.LLNetBase method)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.prepend_header">prepend_header() (switchyard.lib.packet.Packet method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.proto">proto (switchyard.lib.socket.socket attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.protocol">protocol (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Arp.protocoltype">protocoltype (switchyard.lib.packet.Arp attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.PSH">PSH (switchyard.lib.packet.TCP attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="R">R</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.raw">raw (switchyard.lib.address.EthAddr attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.recv">recv() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.ApplicationLayer.recv_from_app">recv_from_app() (switchyard.lib.socket.ApplicationLayer static method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.recv_into">recv_into() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.recv_packet">recv_packet() (switchyard.llnetbase.LLNetBase method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.socket.socket.recvfrom">recvfrom() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.recvfrom_into">recvfrom_into() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.recvmsg">recvmsg() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPRedirect.redirectto">redirectto (switchyard.lib.packet.ICMPRedirect attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.routerflag">routerflag (switchyard.lib.packet.ICMPv6NeighborAdvertisement attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.RST">RST (switchyard.lib.packet.TCP attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="S">S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.socket.socket.send">send() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.send_packet">send_packet() (switchyard.llnetbase.LLNetBase method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.ApplicationLayer.send_to_app">send_to_app() (switchyard.lib.socket.ApplicationLayer static method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.sendall">sendall() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Arp.senderhwaddr">senderhwaddr (switchyard.lib.packet.Arp attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Arp.senderprotoaddr">senderprotoaddr (switchyard.lib.packet.Arp attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.sendmsg">sendmsg() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.sendto">sendto() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.seq">seq (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPEchoReply.sequence">sequence (switchyard.lib.packet.ICMPEchoReply attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.ICMPEchoRequest.sequence">(switchyard.lib.packet.ICMPEchoRequest attribute)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.packet.PacketHeaderBase.set_next_header_class_key">set_next_header_class_key() (switchyard.lib.packet.PacketHeaderBase class method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.PacketHeaderBase.set_next_header_map">set_next_header_map() (switchyard.lib.packet.PacketHeaderBase class method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.setblocking">setblocking() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.setsockopt">setsockopt() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.settimeout">settimeout() (switchyard.lib.socket.socket method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.shutdown">shutdown() (switchyard.lib.socket.socket method)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.Packet.size">size() (switchyard.lib.packet.Packet method)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.PacketHeaderBase.size">(switchyard.lib.packet.PacketHeaderBase method)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.socket.socket">socket (class in switchyard.lib.socket)</a>
</li>
      <li><a href="advanced_api.html#index-1">socket emulation</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.solicitedflag">solicitedflag (switchyard.lib.packet.ICMPv6NeighborAdvertisement attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.SpecialIPv4Addr">SpecialIPv4Addr (class in switchyard.lib.address)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.SpecialIPv6Addr">SpecialIPv6Addr (class in switchyard.lib.address)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Ethernet.src">src (switchyard.lib.packet.Ethernet attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.IPv4.src">(switchyard.lib.packet.IPv4 attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.IPv6.src">(switchyard.lib.packet.IPv6 attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.TCP.src">(switchyard.lib.packet.TCP attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.UDP.src">(switchyard.lib.packet.UDP attribute)</a>
</li>
      </ul></li>
      <li><a href="writing_a_program.html#index-0">switchy_main</a>
</li>
      <li><a href="writing_a_program.html#index-1">Switchyard program arguments</a>, <a href="writing_a_program.html#index-4">[1]</a>
</li>
      <li><a href="reference.html#module-switchyard.lib.userlib">switchyard.lib.userlib (module)</a>
</li>
      <li><a href="writing_a_program.html#index-1">swyard</a>
</li>
      <li><a href="writing_a_program.html#index-4">swyard_main</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.SYN">SYN (switchyard.lib.packet.TCP attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="T">T</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborAdvertisement.targetaddr">targetaddr (switchyard.lib.packet.ICMPv6NeighborAdvertisement attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.ICMPv6NeighborSolicitation.targetaddr">(switchyard.lib.packet.ICMPv6NeighborSolicitation attribute)</a>
</li>
        <li><a href="reference.html#switchyard.lib.packet.ICMPv6RedirectMessage.targetaddr">(switchyard.lib.packet.ICMPv6RedirectMessage attribute)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.packet.Arp.targethwaddr">targethwaddr (switchyard.lib.packet.Arp attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Arp.targetprotoaddr">targetprotoaddr (switchyard.lib.packet.Arp attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP">TCP (class in switchyard.lib.packet)</a>
</li>
      <li><a href="reference.html#switchyard.llnetbase.LLNetBase.testmode">testmode (switchyard.llnetbase.LLNetBase attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.testing.TestScenario">TestScenario (class in switchyard.lib.testing)</a>
</li>
      <li><a href="reference.html#switchyard.lib.socket.socket.timeout">timeout (switchyard.lib.socket.socket attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.Packet.to_bytes">to_bytes() (switchyard.lib.packet.Packet method)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.PacketHeaderBase.to_bytes">(switchyard.lib.packet.PacketHeaderBase method)</a>
</li>
      </ul></li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.toRaw">toRaw() (switchyard.lib.address.EthAddr method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.tos">tos (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.toStr">toStr() (switchyard.lib.address.EthAddr method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.total_length">total_length (switchyard.lib.packet.IPv4 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.address.EthAddr.toTuple">toTuple() (switchyard.lib.address.EthAddr method)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv6.trafficclass">trafficclass (switchyard.lib.packet.IPv6 attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.IPv4.ttl">ttl (switchyard.lib.packet.IPv4 attribute)</a>

      <ul>
        <li><a href="reference.html#switchyard.lib.packet.IPv6.ttl">(switchyard.lib.packet.IPv6 attribute)</a>
</li>
      </ul></li>
      <li><a href="reference.html#switchyard.lib.socket.socket.type">type (switchyard.lib.socket.socket attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="U">U</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.UDP">UDP (class in switchyard.lib.packet)</a>
</li>
  </ul></td>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.TCP.URG">URG (switchyard.lib.packet.TCP attribute)</a>
</li>
      <li><a href="reference.html#switchyard.lib.packet.TCP.urgent_pointer">urgent_pointer (switchyard.lib.packet.TCP attribute)</a>
</li>
  </ul></td>
</tr></table>

<h2 id="W">W</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
  <td style="width: 33%; vertical-align: top;"><ul>
      <li><a href="reference.html#switchyard.lib.packet.TCP.window">window (switchyard.lib.packet.TCP attribute)</a>
</li>
  </ul></td>
</tr></table>



          </div>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="#" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">Switchyard 2017.01.5 documentation</a> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
        &#169; Copyright 2013-2017, Joel Sommers.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.1.
    </div>
  </body>
</html>